/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.ucase.casemain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;


/**
 * 描述：案件主要信息视图对象
 *
 * @author xiangyuyu
 * @date 2022-02-22 09:35
 */
@Data
@NoArgsConstructor
public class CaseMainInfoVo {
    /**
     * 主键
     */
    private String id;

    /**
     * 案件名称
     */
    private String caseName;

    /**
     * 案件编号
     */
    private String caseNumber;

    /**
     * 案件来源
     */
    private String caseSource;
    /**
     * 案件来源 格式化 （在行政检查中发现 、巡查中发现 去掉发现）
     */
    private String caseSourceFormat;
    /**
     * 案件类型
     */
    private String caseType;

    /**
     * 立案日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseRegistTime;

    /**
     * 案件期限截止时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseTimelimit;
    /**
     * 案件发生时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseHappenTime;

    /**
     * 办案期限(默认90天)
     */
    private Integer caseDeadline;

    /**
     * 案件当前阶段名称
     */
    private String caseCurrentStageName;

    /**
     * 案件当前阶段编码
     */
    private String caseCurrentStageCode;

    /**
     * 案件当前环节名称
     */
    private String caseCurrentLinkName;

    /**
     * 案件当前环节编码
     */
    private String caseCurrentLinkCode;

    /**
     * 案件当前环节开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseCurrentLinkStarttime;

    /**
     * 裁决完毕日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseVerdictEndTime;

    /**
     * 结案日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseEndTime;

    /**
     * 案件状态
     */
    private String caseStatus;

    /**
     * 案卷号
     */
    private String caseFileNumber;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseCreateTime;

    /**
     * 案件流编码
     */
    private String caseFlowCode;

    /**
     * 案件流版本
     */
    private String caseFlowVersion;

    /**
     * 案件上一环节信号编码
     */
    private String casePreviousLinkCode;

    /**
     * 案件当前阶段开始时间
     */
    private LocalDateTime caseCurrentStageStarttime;

    /**
     * 社会统一信用代码
     */
    private String uniscid;

    /**
     * 部门社会统一信用代码
     */
    private String uniscidDept;

    /**
     * 机构名称
     */
    private String caseOrgName;
    /**
     * 机构编码
     */
    private String caseOrgCode;

    /**
     * 领域编码
     */
    private String caseTerritoryCode;
    /**
     * 领域名称
     */
    private String caseTerritoryName;

    /**
     * 处置方式；0：常规处罚  1：合并处罚 2：分别处罚
     */
    private String handleType;

    /**
     * 案件案由、当事人类型；1：单案由单当事人 2：多案由单当事人 3：单案由多当事人
     */
    private String casePartiesReasonType;
    /**
     * 业务参数配置id
     */
    private String busiParamId;


    /**
     * 数据来源方业务唯一主键id
     */
    private String dataSourceServiceId;


    /**
     * 数据来源(数据字典-ApiVisitDataSourceEnum)
     */
    private String dataSource;

    /**
     * 外部行政行为码
     */
    private String caseExternalActsCode;

    /**
     * 案件行政行为码
     */
    private String caseActsCode;
    /**
     * 案件行政行为码 二维码oss地址
     */
    private String caseQrCodeUrl;
    /**
     * 案件行政行为码 条形码oss地址
     */
    private String caseBarCodeUrl;
    /**
     * 机构编码
     */
    private String caseDeptCode;
    /**
     * 机构名称
     */
    private String caseDeptName;

    /**
     * 条线编码
     */
    private String lineCode;

    /**
     * 案件区划编码
     */
    private String caseAreaCode;

    /**
     * 部门全称
     */
    private String caseOrgFullName;

    /**
     * 数据上报撤销类型枚举（1-撤销案件/2-撤销公示）
     */
    private String revokeType;
    /**
     * 文书id
     */
    private String documentId;
    /**
     * 是否补录 1是补录
     */
    private String additionalType;
    /**
     * 文号
     */
    private String documentNumber;

    /**
     * 移动端案子
     */
    private String isMobile;
    /**
     * 送达时间
     */
    @JsonFormat(pattern = "yyyy年M月d日", timezone = "GMT+8")
    private LocalDate sentTime;
    /**
     * 审批通过时间
     */
    @JsonFormat(pattern = "yyyy年M月d日", timezone = "GMT+8")
    private LocalDate documentApprovalTime;
}
